/**
 * 序列化二叉树的一种方法是使用 前序遍历 。当我们遇到一个非空节点时，我们可以记录下这个节点的值。如果它是一个空节点，我们可以使用一个标记值记录，例如 #。
 * https://leetcode.cn/problems/verify-preorder-serialization-of-a-binary-tree/
 * 思路：利用前序遍历递归
 */
class IsValidSerializationDiGui {
    int index=0;
    public boolean isValidSerialization(String preorder) {
        if(preorder==null){
            return true;
        }
        int len=preorder.length();
        isPreorder(preorder,len);
        return index+1==len;
    }
    public void isPreorder(String preorder,int len){
        if(index>=len){
            return;
        }
        char ch=preorder.charAt(index);
        if(ch=='#'){
          return;
        }
        while(index<len&&preorder.charAt(index)!=','){
            index++;
        }
        index++;
        isPreorder(preorder,len);
         while(index<len&&preorder.charAt(index)!=','){
            index++;
        }
        index++;
        isPreorder(preorder,len);
    }
}